package sv.com.renacempleo.dao.red;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;

import sv.com.renacempleo.dao.BaseDaoImpl;
import sv.com.renacempleo.dto.red.RedEmpresaMedioBusqueda;
import sv.com.renacempleo.exception.WebException;

public class RedEmpresaMedioBusquedaDaoImpl extends BaseDaoImpl implements RedEmpresaMedioBusquedaDao{

	@SuppressWarnings("unchecked")
	public List<Object[]> findMediosByEmpresa(Long redEmpresaFolio)
			throws WebException {
		DetachedCriteria criteria = DetachedCriteria.forClass(RedEmpresaMedioBusqueda.class);
		criteria.addOrder(Order.asc("redEmpresaMedioBusquedaId"));
		criteria.createAlias("redEmpresaFolio", "redEmpresaFolio");
		criteria.createAlias("ctgMedioBusqueda", "ctgMedioBusqueda");
		criteria.setProjection(Projections.projectionList().
				add(Projections.property("redEmpresaMedioBusquedaId")).
				add(Projections.property("redEmpresaFolio.redEmpresaFolio")).	
				add(Projections.property("ctgMedioBusqueda.ctgCatalogId"))
		);
		return (List<Object[]>) findByCriteria(criteria);
	}

}
